Full-Body Tracking Using OpenPose
James Trujillo ( james.trujillo@donders.ru.nl )
Wim Pouw ( wim.pouw@donders.ru.nl )
18-11-2021
Info documents
This module demonstrates an alternative full-body tracking approach called OpenPose. We provide code for running the motion tracking using OpenPose, and discuss how it compares to MediaPipe.
OpenPose citation:
Z. Cao, G. Hidalgo, T. Simon, S. -E. Wei and Y. Sheikh, "OpenPose: Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields," in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 43, no. 1, pp. 172-186, 1 Jan. 2021, doi: 10.1109/TPAMI.2019.2929257.
DOI: 10.1109/TPAMI.2019.2929257
location code:
https://osf.io/rxb8j/
ALL_MATERIALS_DOWNLOAD_V1.rar
citation:
Trujillo, J.P. & Pouw, W. (2021-11-18). Full-Body Tracking Using OpenPose [day you visited the site]. Retrieved from: https://github.com/WimPouw/EnvisionBootcamp2021/tree/main/Python/MediaBodyTracking
Introduction
OpenPose provides another method of performing motion tracking of video or image data. While it's not as lightweight as MediaPipe, it has the option of running it on a GPU (faster method, but requires a more powerful computer) or on a CPU (more accessible, but much slower). In this module, we won't go into details regarding installation or any in-depth OpenPose code per se. Instead, we will provide an overview of how OpenPose compares, and provide links to resources where you
can learn more about getting started, performing tracking, etc.
In general, if you visit our OSF project linked above and download the materials, you'll find some instructions on how to get things running in the
Instructions.txt file.
Running OpenPose
For this module, we stick to using the off-the-shelf OpenPoseDemo.exe program provided on the OpenPose GitHub page. This simple program can still be run in customizable ways depending on yours needs. For example, you can adjust the speed-precision trade-off, determine whether or not you want detailed hand tracking, and whether you want an output file with the keypoints drawn on. As part of the OSF resource linked above, we created a bash script that runs through a particular folder and runs OpenPose on each video it finds, saving the output data in a separate directory. Below you see the code for this bash script, which is available in the OSF link above, as OpenPose_loop.sh